﻿/**
 * 判断是否为中文
 * 
 * @param str
 * @returns {Boolean}
 */
function isChinese(str) {
	var reg = /^[\u4E00-\u9FA5]+$/;
	if (!reg.test(str)) {
		return false;
	} else {
		return true;
	}
}

/**
 * 判断身份证号码格式
 * 
 * @param str
 * @returns {Boolean}
 */
function checkIdNumber(num) {
	var re = /(^\d{18}$)|(^\d{17}(\d|X)$)/;
	if (!re.test(num)) {
		return false;
	}
	//下面分别分析出生日期和校验位
	var len, re;
	len = num.length;
	if (len == 18){
		re = new RegExp(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/);
		var arrSplit = num.match(re);
		//检查生日日期是否正确
		var dtmBirth = new Date(arrSplit[2] + "/" + arrSplit[3] + "/" + arrSplit[4]);
		var bGoodDay;
		bGoodDay = (dtmBirth.getFullYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4]));
		if (!bGoodDay){
			return false;
		}else{
			//检验18位身份证的校验码是否正确。
			//校验位按照ISO 7064:1983.MOD 11-2的规定生成，X可以认为是数字10。
			var valnum;
			var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
			var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
			var nTemp = 0, i;
			for(i = 0; i < 17; i ++){
				nTemp += num.substr(i, 1) * arrInt[i];
			}
			valnum = arrCh[nTemp % 11];
			if (valnum != num.substr(17, 1)){
				return false;
			}
			return true;
		}
	}
	return false;
}
/**
 * 判断是否为空
 * 
 * @param str
 * @returns {Boolean}
 */
function isNull(str) {
	return str == null || str == "";
}
/**
 * 验证手机号格式
 * 
 * @param str
 * @returns {Boolean}
 */
function checkMobileNumber(str) {
	var reg = /^0?1[3|4|5|7|8][0-9]\d{8}$/;
	if (reg.test(str)) {
		return true;
	} else {
		return false;
	}
}
/**
 * 验证验证码格式
 * 
 * @param str
 * @returns {Boolean}
 */
function checkCaptcha(str) {
	var reg = /^\d{6}$/;
	if (reg.test(str)) {
		return true;
	} else {
		return false;
	}
}
/**
 * 判断输入框中输入的日期格式为yyyy-mm-dd和正确的日期
 */
function IsDate(mystring) {
	var reg = /^(\d{4})-(\d{2})-(\d{2})$/;
	var str = mystring;
	if (str == "")
		return true;
	if (!reg.test(str) && RegExp.$2 <= 12 && RegExp.$3 <= 31) {
		return false;
	}
	return true;
}
/**
 * 字符串时间格式化
 */
function formateDate(str){
	var date = new Date(Date.parse(str.replace(/-/g, "/")));  
	return date;
}
/**
 * 判断输入框中输入的日期是否超出范围
 */
function outOfRange(str) {
	var now = new Date();
	var birthday = formateDate(str);
	return birthday > now;
}
/**
 * 验证邮箱格式
 * 
 * @param str
 * @returns {Boolean}
 */
function isEmail(str){
	var reg = /^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$/;
	if (reg.test(str)) {
		return true;
	} else {
		return false;
	}
}
/**
 * 获取字符串
 * 
 * @param name 
 * @returns 
 */
function GetQueryString(name){
    var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if(r!=null)return  unescape(r[2]); return null;
}